"""
需求
1. 完成字符串的逆序以及统计
2. 设计一个程序，要求只能输入长度低于31的字符串，否则提示用户重新输入
3. 打印如下内容:
--------------------------------------------
您输入的字符串: zhongshanshan
长度: 13
逆序后为: nahsnahsgnohz
字符统计结果: z:1 h:3 o:1 n:3 g:1 s:2 a:2
--------------------------------------------

分析：
1. 输入字符串(while循环)
2. 字符串长度小于31位,否则提示重新输入
3. 您输入的字符串: ...
4. 长度: ...
5. 逆序后为: ...  (切片)
6. 字符统计结果: ...(afsfdsf)  a:1  f:3 s:2 d:1
"""

while True:
    # 1.输入字符串(while循环)
    data = input('请输入字符串:')
    # 2.字符串长度小于31位,否则提示重新输入
    if len(data) >= 31:
        print('不能超过31位,请重新输入')
        continue
    # 跳出循环
    break

print('输入正确')
print("--------------------------------------------")
# 3.您输入的字符串: ...
print(f'您输入的字符串:{data}')
# 4.长度: ...
print(f'长度:{len(data)}')
# 5.逆序后为: ...  (切片)
new_data = data[::-1]
print(f'逆序后为:{new_data}')
# 6.字符统计结果: ...(afsfadsf)  a:1  f:3 s:2 d:1
# 1.字典 保存结果  {}
resultDict = {}
for ele in data:
    if ele not in resultDict:
        # 2. 如果字典中没有这个a, 把a添加进去 {'a':1}
        resultDict[ele] = 1
    else:
        # 3.字典中有a 将元素个数+1
        resultDict[ele] += 1
print('字符统计结果:{}'.format(resultDict))
print("--------------------------------------------")
